package city.spring.modules.consumptionItem.repository;

import city.spring.modules.consumptionItem.entity.ConsumptionItemsEntity;
import city.spring.modules.consumptionItem.vo.ConsumptionItemsEntityVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 存储库：收费项目
 *
 * @author pxm
 * @date 2020-08-05 16:18:33
 */
@Repository
public interface ConsumptionItemsRepository extends BaseMapper<ConsumptionItemsEntity> {

    /**
     * 查找类别是护理并且不是房间的收费项目,list展示
     */
    List<ConsumptionItemsEntity> getCategoryListByPidAndIsroom(String categoryId);

    /**
     * 根据护理级别id，床位id 查找护理级别下的床位消费项目的信息 获取床位费用
     *
     * @param categoryId
     * @param bedId
     * @return
     */
    ConsumptionItemsEntity getBedFee(String categoryId, String bedId);

    /**
     * 分页获取增值收费 的 收费项目列表
     *
     * @param page    分页对象
     * @param wrapper 查询对象
     * @return 增值收费 的 收费项目列表
     */
    IPage<ConsumptionItemsEntityVO> listPage(Page<? extends ConsumptionItemsEntity> page, @Param(Constants.WRAPPER) Wrapper<? extends ConsumptionItemsEntity> wrapper);

}